Signals are often a combination of a wanted meaningful signal and unwanted distortion, generally referred to as noise, which can be generated during capture, storage, transmission, processing, or conversion of the signal. Many noise-removal, noise reduction or de-noising, techniques exist. Since noise is typically at higher frequencies than the meaningful signal, the de-noising techniques usually employ low-pass filters for removing high frequency components of the signal thereby maintaining the wanted and meaningful signal.
Auto-regressive filter techniques are known for de-noising. Such techniques require that the signal is processed coordinate by coordinate; for each coordinate, the signal is processed direction by direction; and for each direction, the signal is processed point by point. The output of the noise reduction or de-noising process, in one coordinate and one direction, of a point depends on the intensity of the signal at that point and on the output of the de-noising at the previous points along that one direction of that one coordinate. The output values for the de-noising in all directions for a first coordinate are then averaged to provide the de-noised signal for the first coordinate. If the signal is function of a second coordinate, the de-noised signal for the first coordinate is then used as an input signal in a de-noising step for the second coordinate and used to provide the de-noised signal for the first and second coordinates. If the signal is function of a third coordinate, the noise reduction or de-noising process is repeated, coordinate by coordinate.
For example, if the signal has a parameter X as function of a coordinate i, X(i), the values of i are first considered in increasing order (first direction) and then in decreasing order (second direction). In the first direction, the output L of the noise reduction or de-noising process with respect to the point i, L(i) depends on X(i) and on L(i−1):L(i)=function[X(i), L(i−1)]In the second direction, the output R of the noise reduction or de-noising process with respect to the point i, R(i) depends on X(i) and on R(i+1):R(i)=function[X(i), R(i+1)]The overall output O of the noise reduction or de-noising process at point i is:O(i)=(L(i)+R(i))/2
The above example corresponds to a first order filter, where the value L(i) computed at point i only depends on the value of the input signal at point i and of the value L(i−1) computed at coordinate i−1. More generally, the result L(i) of an order N filter would depend on values of L at coordinates L(i−1), L(i−2) . . . L(i−N).
One problem with the majority of de-noising techniques, including the auto-regressive filter technique, is that they alter the high frequency components, that is the edges, in the wanted meaningful signal. For example, they transform a sharp edge in an image having a sharp change of colour between two adjacent pixels into a blurry zone which is several pixels wide and having an intermediate colour. Edges are extremely important in the visual appearance of images, and edge alteration is not acceptable in the medical imaging domain for example.
When the signal to be de-noised is a depth map with foreground regions having small depth values due to being closer to the imaging system and background regions having greater depth values due to being further away from the imaging system than the foreground regions, a typical drawback of a filtering process is that pixels close to the edges between foreground and background regions are set by the filtering process to depth values which are intermediate a typical background depth value and a typical foreground depth value for the depth map. Pixels having these intermediate depth values may be erroneously classified as belonging to foreground regions and/or background regions.
However, several de-noising techniques that preserve edges already exist. Bilateral filtering is one such de-noising technique that preserves edges by using intensity values. The intensity value at a point is replaced by an average of intensity values of points selected such that, first, the points are close according to at least one variable on which the signal depends, and, secondly, the intensity values of the signal at these points are also close.
Total variation de-noising is another de-noising technique that preserves edges in a signal by determining a minimum of an integral involving the absolute gradient of the signal.
Anisotropic diffusion de-noising technique also preserves edges in a signal by using filters which depend on the local intensity of the signal.
However, these three edge-preserving de-noising techniques are very demanding from a computational point of view. When the signal comes from a camera that records 60 RGB images of 320×240 pixels per second, the computer has to perform noise reduction or de-noise 60*320*240*3>130,000,000 pixels each second. This is why, for example in video image processing, it is extremely important to reduce the number of steps a computer has to perform to de-noise the image, while still performing a satisfactory removal of the noise.
There is therefore a need for a noise reduction or de-noising technique capable of performing substantial noise removal on a signal whilst preserving the edges of the signal and keeping the number of required computational steps low.
The articles by Cigla Cevahir et al. entitled “An efficient recursive edge-aware filter” from (Signal Processing: Image Communication, Elsevier Science Publishers, Amsterdam, N L, vol. 29, no. 9, 30 Jul. 2014, pages 998-1014) and “Efficient edge-preserving stereo matching” (IEEE International Conference on Computer Vision Workshops, IEEE, 6 Nov. 2011, pages 696-699) disclose a method for denoising that preserves edges. This known method involves a calculation of a left-to-right component and of a right-to-left component which both involve a weight that accounts for edges. The left-to-right and right-to-left components are then summed.
The article “Bi-Exponential Edge-Preserving Smoother” by Philippe Thevenaz et al (IEEE Transactions on Image Processing, IEEE Service, vol. 21, no. 9, 1 Sep. 2012, pages 3924-3936) discloses an edge-preserving smoother. This known method also involves a calculation of a left-to-right component and of a right-to-left component which both involve a weight that accounts for edges. The left-to-right and right-to-left components are then summed.
US-A-2012/0200747 discloses an image signal processing method wherein a first smoothed signal processing unit generates a first smoothed signal using an averaging filter, and a second smoothed signal processing unit generates a second smoothed signal using a bilateral filter. A mixing processing unit mixes the first smoothed signal that is input from the first smoothed signal creating unit and the second smoothed signal that is input from the second smoothed signal creating unit in accordance with predetermined mixing ratios. The mixing ratio is determined in such a manner that, in a bright portion, the mixing ratio of the second smoothed signal, which is the smoothed image signal in which edges are maintained, is high, whereas, in a dark portion, the mixing ratio of the first smoothed signal, which is a blur-emphasized smoothed image signal, is high.